home *** CD-ROM | disk | FTP | other *** search
- #ifndef _BDInterfaces_
- #define _BDInterfaces_
-
- // this entire file is a BDIAMOND addition
-
- ///////////////////////////////////////////////////////////////////////////////
- //
- // Constants
- //
-
- const IID kUninitializedInterfaceID = { 0L, 0, 0, (unsigned char)0L };
-
- ///////////////////////////////////////////////////////////////////////////////
- //
- // CMenuItem, used for menu interactions
- //
-
- const long MAX_MENU_ITEM_TEXT_LENGTH = 255;
-
- class CMenuItem
- {
- public:
- CMenuItem(void) { itemNumber = 0; itemText[0] = 0; }
- ~CMenuItem(void) {};
-
- short itemNumber;
- char itemText[MAX_MENU_ITEM_TEXT_LENGTH+1];
- };
-
- ///////////////////////////////////////////////////////////////////////////////
- //
- // IDoMenuEvents interface
- //
-
- DECLARE_INTERFACE_(IDoMenuEvents, IUnknown)
- {
- BEGIN_INTERFACE
-
- // *** IUnknown methods ***
- STDMETHOD (QueryInterface)(THIS_ REFIID RefID, void** Obj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- // *** IDoMenuEvents methods ***
- STDMETHOD (Popup)(THIS_ IUnknown* Source, PlatformEvent* Event) PURE;
- STDMETHOD (Clear)(THIS_ IUnknown* Source, PlatformEvent* Event) PURE;
- STDMETHOD (RemoveItem)(THIS_ IUnknown* Source, PlatformEvent* Event, const CMenuItem & Item) PURE;
- STDMETHOD (AddItem)(THIS_ IUnknown* Source, PlatformEvent* Event, const CMenuItem & Item) PURE;
- };
-
- ///////////////////////////////////////////////////////////////////////////////
- //
- // IDidMenuEvents interface
- //
-
- DECLARE_INTERFACE_(IDidMenuEvents, IUnknown)
- {
- BEGIN_INTERFACE
-
- // *** IUnknown methods ***
- STDMETHOD (QueryInterface)(THIS_ REFIID RefID, void** Obj) PURE;
- STDMETHOD_(ULONG,AddRef)(THIS) PURE;
- STDMETHOD_(ULONG,Release)(THIS) PURE;
-
- // *** IDidMenuEvents methods ***
- STDMETHOD (Click)(THIS_ IUnknown* Source, PlatformEvent* Event, char * SourceName, const CMenuItem & Item) PURE;
- };
-
- #endif // _BDInterfaces_
-